//***********************************************************************
//	File:		MainMenu.h
//	Author:		
//	Course:		SGP 1405
//	Purpose:	
//***********************************************************************
//***********************************************************************
//	There is a m_nCursorMax variable which should be changed as we have
//	more options so that we arn't hard coding how many options there are
//	
//	
//	
//***********************************************************************



#pragma once
#include "IGameState.h"
#include "../SGD Wrappers/SGD_Geometry.h"


class MainMenu :
	public IGameState
{
public:
	enum stupidShit {PLAY, INSTRUCTIONS, OPTIONS_STATE, CREDITS, EXIT};
	/**********************************************************/
	// Singleton Accessor
	static MainMenu* GetInstance(void);

	/**********************************************************/
	// IGameState Interface:
	virtual void	Enter(void)					override;	// load resources
	virtual void	Exit(void)					override;	// unload resources

	virtual bool	Input(void)					override;	// handle user input
	virtual void	Update(float elapsedTime)	override;	// update entites
	virtual void	Render(void)				override;	// render entities / menu


private:
	MainMenu() = default;
	~MainMenu() = default;

	MainMenu(const MainMenu&) = delete;
	MainMenu& operator= (const MainMenu&) = delete;

	/**********************************************************/
	// Cursor Index
	int		m_nCursor = 0;
	int		m_nCursorMax = 4; // Change this to however many options there are - 1

	/*********************************************************/
	// Joystick Positions
	SGD::Vector joystick0Pos = {0,0};
	SGD::Vector	joystick1Pos = {0,0}; 

};

